XORLW : (eXclusif OR literal with W)
Opération logique XOR ( ou exclusif ) entre le contenu de W et une constante c
( W ) XOR c -> ( W )
Nombre de cycle d'horloge : 1
Indicateurs positionnés:
Z si résultat stocké dans le registre W est nul ( Z=1 )
Exemple :
Dans cet exemple on charge une valeur dans le registre W puis on éxécute un ou exclusif avec une valeur immédiate , le résultat est dirigé vers le registre W
Movlw 01010101b on charge 55h dans le registre W
Xorlw 00111100b ou exclusif avec W le contenu du registreW = 01101001b
XORWF : (eXclusif OR W with F)
Opération logique XOR ( ou exclusif ) entre le contenu de W et f le résultat en d
( W ) XOR ( f ) -> ( d )
Nombre de cycle d'horloge : 1
Indicateurs positionnés :
Z si résultat stocké dans le registre W est nul ( Z=1 )
d est paramétrable
si d= 0 le résultat va dans le registre W
si d= 1 le résultat va dans le registre f
Exemple :
Dans cet exemple on charge une valeur dans le registre W puis on éxécute un ou exclusif avec le contenu d'un registre temporaire, le résultat est dirigé vers le registre temporaire..
Reg_temp equ 0Ah OA correspond à l'adresse d' un registre temporaire
#define f 1 on affecte la valeur 1 à la variable f
Movlw 01010101b on charge 55h dans le registre W
Movwf Reg_temp on met W dans le registre temporaire
Movlw 00001111b on charge 0Fh dans le registre W
Xorwf Reg_temp, f ou exclusif avec W le contenu du registre temporaire= 01011010b